function InvoiceController(page, data) {
	this.parent(page, data);
}

InvoiceController.inherits(BaseController, {
	initController : function() {
		//var demo = new InvoiceModel;
		//this.model = demo.createModel();
		// = new InvoiceModel.createModel();
	}
});

function callInvoiceService() {
	ajax.get({
		url : "http://localhost:8080/book-service/staff/manageOrder",
		success : function(data, xhr) {
			var model = createInvoiceModel(data);
			pagesManager.setPage(Pages.manageInvoice, false, model);
		},
		failure : function(xhr) {
			if (xhr.status == 401) {
				alert("Bạn không có quyền truy cập vào trang này!\n Xin mời đăng nhập lại");
				doRequestFail();
			} else {
				alert("Có lỗi xảy ra. Xin thử lại!");
			}
		},
		abort : function(xhr) {
			callback.abort(xhr);
		}
	});
}

function getOrderDetail(id) {
	ajax.get({
		url : "http://localhost:8080/book-service/staff/manageOrder/getOrderDetail",
		param : {
			"txtOrderId" : id
		},
		success : function(data, xhr) {
			var arrInvoice = [];
			var orderId, userId, receiveAddress, receivePhoneNumber, orderDate, receiverName, shippingMethod, paymentMethod, totalPrice, status;

			orderId = data.getElementsByTagName("orderId")[0].childNodes[0].nodeValue;
			userId = data.getElementsByTagName("userId")[0].childNodes[0].nodeValue;
			receiveAddress = data.getElementsByTagName("receiveAddress")[0].childNodes[0].nodeValue;
			receivePhoneNumber = data.getElementsByTagName("receivePhone")[0].childNodes[0].nodeValue;
			receiverName = data.getElementsByTagName("receiverName")[0].childNodes[0].nodeValue;
			orderDate = data.getElementsByTagName("orderDate")[0].childNodes[0].nodeValue;
			shippingMethod = data.getElementsByTagName("shippingMethod")[0].childNodes[0].nodeValue;
			paymentMethod = data.getElementsByTagName("paymentMethod")[0].childNodes[0].nodeValue;
			totalPrice = data.getElementsByTagName("totalPrice")[0].childNodes[0].nodeValue;
			status = data.getElementsByTagName("status")[0].childNodes[0].nodeValue;

			arrInvoice = {
				"orderId" : orderId,
				"userId" : userId,
				"receiveAddress" : receiveAddress,
				"receivePhoneNumber" : receivePhoneNumber,
				"receiverName" : receiverName,
				"orderDate" : orderDate,
				"shippingMethod" : shippingMethod,
				"paymentMethod" : paymentMethod,
				"totalPrice" : totalPrice,
				"status" : status,
			}

			var model = new BookOrderPage(arrInvoice);
			pagesManager.setPage(Pages.orderDetail, false, model);
		},
		failure : function(xhr) {
			if (xhr.status == 401) {
				alert("Bạn không có quyền truy cập vào trang này!\n Xin mời đăng nhập lại");
				doRequestFail();
			} else {
				alert("Có lỗi xảy ra. Xin thử lại!");
			}
		},
		abort : function(xhr) {
			callback.abort(xhr);
		}
	});
}

function searchOrder() {
	var key = document.getElementById("txtSearchOrder").value;
	ajax.get({
		url : "http://localhost:8080/book-service/staff/manageOrder/searchOrder",
		param : {
			"txtOrderId" : key
		},
		success : function(data, xhr) {
			var model = createInvoiceModel(data);
			pagesManager.setPage(Pages.manageInvoice, false, model);
		},
		failure : function(xhr) {
			if (xhr.status == 401) {
				alert("Bạn không có quyền truy cập vào trang này!\n Xin mời đăng nhập lại");
				doRequestFail();
			} else {
				alert("Có lỗi xảy ra. Xin thử lại!");
			}
		},
		abort : function(xhr) {
			callback.abort(xhr);
		}
	});
}

function deleteOrder(id) {
	ajax.del({
		url : "http://localhost:8080/book-service/staff/manageOrder",
		param : {
			"txtOrderId" : id
		},
		success : function() {
			alert("Xóa hóa đơn có mã " + id + " thành công");
			callInvoiceService();
		},
		failure : function(xhr) {
			if (xhr.status == 401) {
				alert("Bạn không có quyền truy cập vào trang này!\n Xin mời đăng nhập lại");
				doRequestFail();
			} else {
				alert("Có lỗi xảy ra. Xin thử lại!");
			}
		},
		abort : function(xhr) {
			callback.abort(xhr);
		}
	});
}
